Creating
a Custom Queue Callback Routine
In addition
to using the default queue callback, you can write a custom callback routine.
This function must have the same form as those pointed to by SP_FILE_CALLBACK. This is useful if you
need a callback routine to handle a notification in a manner other than that
provided by the default queue callback routine.
If only a
small portion of the default queue callback routine s behavior needs to be changed, you can create a
custom callback routine to filter the notifications, handling only those that
require special behavior and calling SetupDefaultQueueCallback for the others.
For example,
if you wanted to custom-handle file delete errors, you could create a custom
callback function, MyCallback. This function would intercept and process
SPFILENOTIFY_DELETEERROR
notifications, and call the default queue callback function for all other
notifications. MyCallback returns a value for the delete error
notifications. For all other notifications, MyCallback passes whatever
value the default queue callback routine returned to the queue.
This flow of
control is illustrated in the following diagram.
{bmc bm75.WMF}
For an
example of a setup application that uses a custom callback function, see the
Win32 Code Samples.
Important If the custom
callback function calls the default queue callback routine, it must pass the
void pointer returned by SetupInitDefaultQueueCallback or SetupInitDefaultQueueCallbackEx to the default callback
routine.